# -*- coding: UTF-8 -*-

import unicodedata
import string
import sys
from Estrategia import Estrategia

class Tokenizador(Estrategia):

	def ejecutar(self,text):
		return self.tokenizar(text)

	def sacarAcentos(self,text):
		utext = text.decode('utf-8')
		return unicodedata.normalize('NFKD', utext).encode('utf-8').replace('\xcc\x81', '')

	def limpiar(self,text):
		s = ""
		for l in text:
			s += l if l not in string.punctuation else ' '
		return ''.join(s)

	def tokenizar(self,text):    
		texto_limpio = self.limpiar(text.lower())    
		texto_sin_acentos = self.sacarAcentos(texto_limpio)    
		tokens = texto_sin_acentos.split()
		return tokens

